package com.vodafone.mapreduce.config.beans;

/**
 * JDBC access configuration to target database
 * 
 * @author $Author: rainer.bieniek $
 * @since 1.0-SNAPSHOT
 * @version $Id$
 */
public interface IDbConfiguration {

	public enum EDatabaseType {
		ORACLE,
		MYSQL,
		SQLSERVER,
		DERBY,
		POSTGRESQL;
	}
	
	/**
	 * @return the uri
	 */
	public abstract String getUri();

	/**
	 * @return the login
	 */
	public abstract String getLogin();

	/**
	 * @return the password
	 */
	public abstract String getPassword();

	/**
	 * @return the hibernateDialect
	 */
	public abstract String getHibernateDialect();

	/**
	 * @return the JDBC driver class name
	 */
	public abstract String getDriverClassName();
	
	/**
	 * 
	 * @return
	 */
	public EDatabaseType getDatabaseType();

	/**
	 * get the JDBC fetch size
	 */
	public int getJdbcFetchSize();

	/**
	 * get the JPA fetch size
	 */
	public int getJpaFetchSize();
}